home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Sample Code / Snippets / Devices / SCSI Simple Sample / Src / SCSIGetInitiatorID.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-03-24  |  834 b   |  38 lines  |  [TEXT/KAHL]

  1. /*                                SCSIGetInitiatorID.c                            */
  2. /*
  3.  * SCSIGetInitiatorID.c
  4.  * Copyright © 1992-94 Apple Computer Inc. All Rights Reserved.
  5.  */
  6. #include "SCSISimpleSample.h"
  7.  
  8. /*
  9.  * Get the SCSI bus ID of the Macintosh (initiator) on this bus (only
  10.  * scsiDevice.bus is referenced).
  11.  */
  12. OSErr
  13. SCSIGetInitiatorID(
  14.         DeviceIdent                scsiDevice,
  15.         unsigned short            *initiatorID
  16.     )
  17. {
  18.         OSErr                        status;
  19.         SCSIBusInquiryPB            busInquiryPB;
  20. #define PB                            (busInquiryPB)
  21.  
  22.         if (AsyncSCSIPresent() == FALSE) {
  23.             *initiatorID = 7;
  24.             status = noErr;
  25.         }
  26.         else {
  27.             CLEAR(PB);
  28.             PB.scsiPBLength = sizeof PB;
  29.             PB.scsiFunctionCode = SCSIBusInquiry;
  30.             PB.scsiDevice = scsiDevice;
  31.             status = SCSIAction((SCSI_PB *) &PB);
  32.             DisplaySCSIErrorMessage(status, "\pSCSIBusInquiry failed");
  33.             *initiatorID = PB.scsiInitiatorID;
  34.         }
  35.         return (status);
  36. }
  37.  
  38.